The present invention relates to industrial control systems and, in particular, a method and system of defining slot addresses for modules in an industrial control system.
Industrial controllers, such as programmable logic controllers (PLC's), are specialized electronic computer systems used for the control of industrial processes or machinery, for example, in a factory environment. Industrial controllers differ from conventional computers in a number of ways. Physically, they are constructed to be substantially more robust against shock and damage and to better resist external contaminants and extreme environmental conditions. The processors and operating systems are optimized for real-time control and execute languages allowing ready customization of programs to comport with a variety of different controller applications. Industrial controllers may have a user interface for accessing, controlling and/or monitoring the industrial controller, such as through a locally connected terminal having a keyboard, mouse and display.
As industrial processes grow in complexity, an increasing number of devices are being connected to the industrial controller. The devices are often distributed about a machine or along a process line. The increasing number of devices and distribution of these devices about the machine require more complex control programs. Further, the distributed devices require communications between the devices.
Industrial controllers may utilize one or more different numbers and types of network cards or adapters to communicate to other controllers, network devices in the controlled system, or to devices for the process or machinery to be controlled through special “control networks” suitable for highly reliable and available real-time communication. Such control networks commonly used in industrial control systems include, for example, ControlNet, DeviceNet, EtherNet/IP and Sercos, whose specifications are published and whose protocols are used broadly by a number of manufacturers and suppliers. Control networks differ from standard communication networks, such as Ethernet, by guaranteeing maximum communication delays. This may be obtained, for example, by pre-scheduling the bandwidth of the network and/or providing redundant communication capabilities to high-availability. Control networks also differ from one another in physical aspects, for example, the type of media (e.g., co-axial cable, twisted pair, light fiber, etc.), the protocols of its operation, (e.g., Baud rate, number of channels, word transmission size, use of connected messaging, etc.) and how the data is formatted and how it is collected into standard messages.
In order to communicate among the different modules, each module requires an address to which data messages can be transmitted. Further, the address of each module needs to be different than the addresses of the other modules in the system to ensure delivery of a data message to the correct module. Manual configuration of addresses can be time consuming, in particular, in view of the ever increasing number of modules. Distributed modules may require moving between locations to access each module and to complete a manual configuration. Manual configuration is also prone to human error and may result in one or more modules being assigned an incorrect or a duplicate address.
In order to reduce the length of the commissioning process and to reduce the potential for human error, methods for automatically assigning addresses to modules have been developed. However, these automatic assignment routines are typically executed from a central controller, such as a PLC or a Human Machine Interface (HMI). The central controller must communicate with every module in the system to assign the module an address. A table or database must typically be created and stored in the controller by the system designer defining the structure of the control system. Future modifications to the network require updating of the table or database. Further, a single point of failure in the industrial network may prevent the automatic assignment routine from completing, thereby delaying operation of the controlled system until the failure is resolved.
Thus, it would be desirable to provide an improved method and system for assigning slot addresses to modules in an industrial control system.